package org.nf.web.servlet;

/**
 * @author wangl
 * @date 2021/10/14
 * 请求处理适配器接口，负责就调用相应的handler（控制器）
 */
public interface HandlerAdapter {

    /**
     * 判断handler是否可以处理当前的请求
     * @param handler 请求处理对象
     * @return 是否支持此handler
     */
    boolean supports(Object handler);

    /**
     * 调用目标对象的方法
     *
     * @param handler 请求处理的handler
     * @param servletApi 请求参数，包含request、response
     * @return 视图对象
     * @throws Exception 异常对象
     */
    BaseView handle(Object handler, ServletApi servletApi) throws Exception;
}
